Various mobile, small data processing and communication devices are gaining popularity over devices installed as stationary. Examples of such devices are portable computers, mobile phones and PDAs (Personal Digital Assistant). The physical dimensions of mobile phones and PDAs are made as small as possible in order to make it easy to carry them along. However, the small size of the device limits the number of electronic components, such as memory components, that can be installed in a mobile phone, for example. And although the development of the manufacturing technique of memories has enabled manufacturing larger and larger memory units, the price of high-capacity memory components may become a factor that limits their use even in medium-priced devices designed for certain user groups.
The prevailing trend is that the small, mobile devices are also expected to cope with the same tasks as the alternative, stationary devices. In practice, this means loading large software entities into the device used. The number of programs loaded into the device is further increased by the fact that the user of the device may require the use of very different programs at different times. In this connection, we may speak of different use profiles. Examples of use profiles include the following alternatives describing the operation of the user of the device: work, leisure, home or travel.
In prior art mobile devices, it is possible for the user of the device to define use profiles at least partly on his own initiative. If different use profiles require different programs, it is then possible to end up in a situation in which the limited memory of the mobile device runs out, if an attempt is made to load the programs used by all use profiles of the user into it. The user must then make a decision on which programs can be kept continuously loaded in the device. It is also possible that the user must remove from and/or load programs into his device when he wants to change the use profile of his terminal device. From the user's point of view, a situation like this is inconvenient and not desired.
If the user does not want to carry out or is not capable of carrying out the measures described above, he must in one way or another limit his own use profiles to correspond to the memory capacity of his terminal device.
In principle, it would be possible to load the data, files or programs corresponding to the use profile of the terminal device from some external storage device every time the terminal device is switched on or when the use profile of the terminal device is wanted to be changed. However, this solution increases the need for data transfer so much that the limited data transfer capacity becomes a problem especially in wireless data transfer systems. Then the programs in the terminal device start slowly, because the transfer of programs into the terminal device takes place slowly through the limited data transfer channel. In addition, it may be unnecessary to load the programs, if the programs were already installed in the terminal device in connection with the previous use profile.
The operation described above is generally called Software Management. Software management has the following characteristics, for example: It enables one terminal device or server to remote control at least one other device. It also enables complementing a program or a part thereof in a terminal device by new information or parts of a program, which are located in another device. The validity of licenses, or rights of use, of the software is also managed by it.
The Open Mobile Alliance (OMA), which promotes the use of mobile communication devices, has published specifications, which deal with the updating and maintenance of software in mobile devices wirelessly using the OTA (Over-The-Air) technology; Generic Content Download Over The Air Specification, Version 1.0 20 Jun. 2002. The specifications OMA DM (Device Management) and OMA DS (Data Synchronization) describe some possible ways of implementing wireless maintenance of the files of mobile devices. These specifications describe the SynchML protocol (Synchronization Mark up Language) and how it is utilized in the synchronization of information contained by the hardware.
One possible factor, which starts the transferring or updating of the programs, can be a change taking place in the use profile of the device. However, the standards published by QMA do not define how the synchronization of data or updating could be started without separate measures of the user as a kind of automatic operation. So the user must himself start or manage the changes and updates of programs needed by the change of the use profile of his terminal device.